{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# AI开发实战基础"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. Python基本语法：基本运算、列表生成、函数、模块引入\n",
    "2. Matplotlib：安装、引入、使用\n",
    "3. Numpy：安装、引入、使用\n",
    "4. Pandas：安装、引入、使用"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "@Author  : Flare Zhao\n",
    "@Email: 454209979@qq.com\n",
    "@QQ讨论群：530533630  申请加群的验证信息为订单号（粘贴号码数字即可）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 2\n"
     ]
    }
   ],
   "source": [
    "a = 1\n",
    "b = 2\n",
    "print(a,b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3\n"
     ]
    }
   ],
   "source": [
    "c = a + b\n",
    "print(c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'list'> [1, 2, 3, 4]\n"
     ]
    }
   ],
   "source": [
    "a = [1,2,3,4]\n",
    "print(type(a),a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'list'> [11, 12, 13, 14]\n"
     ]
    }
   ],
   "source": [
    "b = [x+10 for x in a]\n",
    "print(type(b),b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "#创建加法运算函数\n",
    "def plusFunction(x1,x2):\n",
    "    x = x1 + x2\n",
    "    return x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'int'> 3\n"
     ]
    }
   ],
   "source": [
    "a = 1\n",
    "b = 2\n",
    "c = plusFunction(a,b)\n",
    "print(type(c),c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.17165396518572873\n"
     ]
    }
   ],
   "source": [
    "#库模块的引入\n",
    "import random\n",
    "m = random.random()\n",
    "print(m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.965057194186911\n",
      "0.8009121343295994\n",
      "0.9376982406802231\n",
      "0.07636905433331498\n",
      "0.28591280837231225\n",
      "0.12909008756913587\n",
      "0.33933480770474855\n",
      "0.293284619130722\n",
      "0.9240740089080781\n",
      "0.23996224134557154\n"
     ]
    }
   ],
   "source": [
    "for i in [1,2,3,4,5,6,7,8,9,10]:\n",
    "    m_i = random.random()\n",
    "    print(m_i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1, 2, 3, 4, 5] [2, 3, 4, 5, 6]\n"
     ]
    }
   ],
   "source": [
    "x = [1,2,3,4,5]\n",
    "y = [2,3,4,5,6]\n",
    "print(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#matplotlib 引入、使用\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline\n",
    "fig1 = plt.figure(figsize=(5,5))\n",
    "plt.plot(x,y)\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig2 = plt.figure(figsize=(5,5))\n",
    "plt.scatter(x,y)\n",
    "plt.title('y vs x')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'>\n",
      "[[1. 0. 0. 0. 0.]\n",
      " [0. 1. 0. 0. 0.]\n",
      " [0. 0. 1. 0. 0.]\n",
      " [0. 0. 0. 1. 0.]\n",
      " [0. 0. 0. 0. 1.]]\n"
     ]
    }
   ],
   "source": [
    "#numpy的引入、数组生成、运算操作\n",
    "import numpy as np\n",
    "a = np.eye(5)\n",
    "print(type(a))\n",
    "print(a)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'>\n",
      "[[1. 1. 1. 1. 1.]\n",
      " [1. 1. 1. 1. 1.]\n",
      " [1. 1. 1. 1. 1.]\n",
      " [1. 1. 1. 1. 1.]\n",
      " [1. 1. 1. 1. 1.]]\n",
      "(5, 5)\n"
     ]
    }
   ],
   "source": [
    "b = np.ones([5,5])\n",
    "print(type(b))\n",
    "print(b)\n",
    "print(b.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'numpy.ndarray'>\n",
      "(5, 5)\n",
      "[[2. 1. 1. 1. 1.]\n",
      " [1. 2. 1. 1. 1.]\n",
      " [1. 1. 2. 1. 1.]\n",
      " [1. 1. 1. 2. 1.]\n",
      " [1. 1. 1. 1. 2.]]\n"
     ]
    }
   ],
   "source": [
    "c = a + b\n",
    "print(type(c))\n",
    "print(c.shape)\n",
    "print(c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "data = pd.read_csv('data.csv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "     x    y\n",
      "0  -10  100\n",
      "1   -9   81\n",
      "2   -8   64\n",
      "3   -7   49\n",
      "4   -6   36\n",
      "5   -5   25\n",
      "6   -4   16\n",
      "7   -3    9\n",
      "8   -2    4\n",
      "9   -1    1\n",
      "10   0    0\n",
      "11   1    1\n",
      "12   2    4\n",
      "13   3    9\n",
      "14   4   16\n",
      "15   5   25\n",
      "16   6   36\n",
      "17   7   49\n",
      "18   8   64\n",
      "19   9   81\n",
      "20  10  100\n"
     ]
    }
   ],
   "source": [
    "print(type(data))\n",
    "print(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.series.Series'>\n",
      "0     100\n",
      "1      81\n",
      "2      64\n",
      "3      49\n",
      "4      36\n",
      "5      25\n",
      "6      16\n",
      "7       9\n",
      "8       4\n",
      "9       1\n",
      "10      0\n",
      "11      1\n",
      "12      4\n",
      "13      9\n",
      "14     16\n",
      "15     25\n",
      "16     36\n",
      "17     49\n",
      "18     64\n",
      "19     81\n",
      "20    100\n",
      "Name: y, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "x = data.loc[:,'x']\n",
    "print(type(x))\n",
    "y = data.loc[:,'y']\n",
    "print(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(21,)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0    -10\n",
      "1     -9\n",
      "2     -8\n",
      "18     8\n",
      "19     9\n",
      "20    10\n",
      "Name: x, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "c = data.loc[:,'x'][y>50]\n",
    "print(c)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_array = np.array(data)\n",
    "print(type(data_array))\n",
    "print(data_array)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_new = data + 10\n",
    "data_new.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "#data to csv file\n",
    "data_new.to_csv('data_new.csv')"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": [
    "AI开发实战基础实战summary：\n",
    "1、完成了Python部分基本语法操作，包括：基本运算、列表生成、函数、模块引入\n",
    "2、完成Matplotlib配置，引入相关模块并且进行画图\n",
    "3、完成numpy配置，引入相关模块并且进行运算演示\n",
    "4、完成Pandas配置，引入相关模块并且进行数据载入、引用和存储\n",
    "5、相关库模块参考链接：\n",
    "Matplotlib:  https://matplotlib.org/\n",
    "numpy:  https://www.numpy.org.cn/\n",
    "Pandas:  https://www.pypandas.cn/"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
